package cn.yz.service;


import cn.yz.dto.RoleDto;
import cn.yz.dto.RolePageDto;
import cn.yz.entity.Role;
import cn.yz.vo.PageVo;
import cn.yz.vo.RoleVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 角色服务接口
 */
public interface RoleService extends IService<Role> {

    /**
     * 分页查询角色列表
     */
    PageVo<RoleVo> getRolePage(RolePageDto rolePageDto);

    /**
     * 获取用户角色列表
     */
    List<RoleVo> getUserRoles(String userId);

    /**
     * 获取角色列表
     */
    List<RoleVo> getRoleList(String name, String code, Integer status);

    /**
     * 根据ID获取角色详情
     */
    RoleVo getRoleById(String id);

    /**
     * 创建角色
     */
    void createRole(RoleDto roleDto);

    /**
     * 更新角色
     */
    void updateRole(String id, RoleDto roleDto);

    /**
     * 删除角色
     */
    void deleteRole(String id);

    /**
     * 分配用户角色
     */
    void assignUserRoles(String userId, List<String> roleIds);
} 